The present invention is broadly directed to distributed computer systems and, more particularly, to such systems having conveniently configurable information sharing capabilities.
In many different fields and businesses, information needs to be shared between companies and various individuals and groups of individuals within those companies. As an example, a pharmacy corporation may be organized as a world headquarters, national offices, regional offices, state and metropolitan offices, down to individual pharmacy stores and apothecaries. Pharmacy cooperatives may also be organized along similar models. An enormous amount of data must be tracked by all levels of such organizations to efficiently market a wide range of prescription and non-prescription products by a given corporation or cooperative. Data must also be appropriately shared among various individual computers and computing devices and among data servers to which the computers and devices are interconnected.
Although the present invention is not restricted to use within the pharmacy industry, the pharmacy industry is a particularly good example of the complex data sharing requirements that occur in many industries. In addition to inventory and sales information which all retailers must track, pharmacies must track patient information, physician information, insurance coverage information, billing information, prescription scripts, refill authorizations, patient signatures, SIG codes (standard and non-standard prescription abbreviations), and the like. Various pieces of the information that are logged must be shared with selected other computers within various components of the corporation for the corporation to function.
A given pharmacy may have one or more store servers which are interfaced to point-of-sale terminals and prescription terminals or computers. The point-of-sale terminals must have access to the store's inventory data to process sales of barcoded merchandise and must have communications access to credit and debit card issuers to process the financial aspects of non-cash sales transactions. Point-of-sale terminals must also have local tax rates programmed in so that sales taxes are computed and added to merchandise totals. Prescription computers must have access to the store's inventory of prescription drugs, each insurance company's proportion of coverage and required co-pay for each drug according to each plan offered by the insurance company, customers' insurance plan information, customers' prescription records, digitized copies of original prescription scripts, running counts of the number of times each drug has been dispensed on given prescriptions, information on prescribing physicians, standard information on drugs which is printed out whenever certain drugs are dispensed, cross-references between brand names of drugs and generic versions of the drugs, and other information. Once a prescription is filled and packaged, the sale of the prescription drug is logged on a point-of-sale terminal. Point-of-sale terminals and prescription computers typically require the entry of personal security codes for operation. As can be seen, the information needs and information access needs of pharmacy point-of-sale terminals and prescription computers are different, as are the needs for shared data.
There are data sharing needs in industries other than pharmacy stores. For example, many retailers such as department stores, home and garden stores, consumer electronics stores, automobile part stores, and the like have online catalog systems which consumers can browse to determine the availability of specific items at their local stores. Consumers may also be able to reserve the item online for pick-up at the local store. Data for such an online catalog server is derived from sales and inventory data of the local stores which is generated by sales processing at point-of-sale terminals within the stores. Sales and inventory data may be shared with other terminals and computers within a store and also migrate through the corporate computer system to a catalog server. A consumer selects the desired item, enters a location code, such as a postal ZIP code, and is presented with several stores in their vicinity, ranked by distance and an indication of the availability of the item at each of the displayed stores. Thus, certain inventory data is shared within a given store, with corporate computers, and with a catalog server, and also with customers or potential customers. The customer do not access the inventory data as such, only the availability of certain merchandise at a small selection of stores.
Returning to the pharmacy example, each store in a district may need to share sales and inventory data with a district office. Certain components of the data gathered by each district may need to be shared with a regional office and, in a similar manner, various data migrates up to a corporate headquarters. In addition to data which needs to be shared for a corporation to function, in the pharmacy industry, at least, there are legal requirements regarding certain types of personal health data which must be protected.
The computers of many companies are interconnected by more or less hard wired links in the form of local area networks with servers interconnected by leased lines. This often means that every computer in the system must be operational at all times for information to be shared or updated in a timely manner. It also may mean that if a particular computer is down because of malfunction or communication interruption, updates may be missed. On the other hand, there are often requirements for mobile data processing, such as for marketing representatives, technical support personnel, and the like who make use of laptop computers, tablet computers, personal digital assistants (PDA's), and so forth in the field. Such computers need to periodically communicate with the corporate system to synchronize databases, upload new data that has been generated, and download updates, messages, and other data.
An essential aspect of every corporate computer system is the capability of recovering from system malfunctions. For this purpose, backup or redundant copies of databases, programs, tables, logs, user profiles, and other data within a system are stored for use in restoring data which might be lost or corrupted by hardware, software, or communication failure. In communicating updates and other data and sharing data, it is desirable to do so in the most efficient manner, especially in a corporate system with a large sales volume. In the past, connections were often made by computers at the end of the business day for batch updates of data. Currently, more frequent updates are normally possible and are preferred.
Because business computing needs change over time, it is necessary at times to expand the numbers of servers and/or client computers, reduce the number, or reconfigure the connections and data sharing arrangements among the servers and client computers. Thus, it is desirable to organize connections of corporate computer systems and data sharing arrangements among the computers in such a manner as to enable the quickest and most convenient ways of expanding, retracting, and reconfiguring the connections and data sharing arrangements among corporate computers.